package com.briup.pts.service;

import com.briup.pts.entity.ManagerAnimal;
import com.briup.pts.entity.extend.ManagerAnimalExt;
import com.briup.pts.mapper.extend.ManagerAnimalExtMapper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

public interface ManagerAnimalService {

    /**
     * find by page
     * 实现对动物数据进行分页展示，并且还可以根据动物健康状态以及动物性别查询，
     * 需要关联查询出对应动物所属批次、所属栏舍栏圈以及二维码信息。
     *
     * @param pageNum  page num
     * @param pageSize page size
     * @param aHealthy a healthy
     * @param aGender  a gender
     * @return page info< manager animal ext>
     */
    PageInfo<ManagerAnimalExt> findByPage(Integer pageNum, Integer pageSize,
                                          String aHealthy, String aGender);

    /**
     * save or update
     * 新增或修改动物信息
     *
     * @param animal animal
     */
    void saveOrUpdate(ManagerAnimal animal);
    void addOrEditAnimal(ManagerAnimal animal);
    void removeById(String id);
    void removeBatch(List<String> ids);
    void creatQRcode();
}
